package com.aaa.tars.dao;

import com.aaa.tars.entity.Ticket;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @FileName: TicketDao
 * @Description: 门票表数据访问层
 * @Author: 李宗盛
 * @CreateTime: 2025/9/12 11:14
 * @Version: 17
 */
@Repository
public interface TicketDao {
    /**
     * 通过ID进行查询
     * @param ticketId
     * @return
     */
    Ticket queryById(Integer ticketId);
    
    /**
     * 通过ID查询门票信息（仅关联景区，不关联订单）
     * @param ticketId 门票ID
     * @return 门票信息（包含景区信息）
     */
    Ticket queryTicketWithScenicOnly(Integer ticketId);
    
    /**
     * 查询所有门票信息
     * @return 门票列表
     */
    List<Ticket> queryAll(Ticket ticket);
    
    /**
     * 新增门票信息
     * @param ticket 门票实体
     * @return 影响行数
     */
    int add(Ticket ticket);
    
    /**
     * 更新门票信息
     * @param ticket 门票实体
     * @return 影响行数
     */
    int update(Ticket ticket);
    
    /**
     * 根据门票ID删除门票信息
     * @param ticketId 门票ID
     * @return 影响行数
     */
    int deleteById(Integer ticketId);
    // 新增：根据景区ID查询所有门票（供ScenicMapper关联调用）
    List<Ticket> queryByScenicId(Integer scenicId);

}